1. Field of the Invention
The present invention is generally directed to maintaining data integrity in a database environment, and more particularly, to maintaining data integrity through background synchronization in the database environment.
2. Background Art
In today's expanding computing environments, the workforce for many businesses performs its job using portable, mobile computing devices, such as personal computing laptops, tablets, personal digital assistants, smart phones, and the like. These remote systems typically run mobile business applications that adopt an “always-available”/“occasionally-connected” architecture. In this manner, the remote systems store data locally, so that their use of data applications can continue whether or not a network is available. Despite this local data store, the ultimate home of the data for business applications is not the remote system but a consolidated database on a company server. Periodically, the data being utilized and updated among the mobile workforce needs to be synchronized with this central data store of the consolidated database over a wired or wireless network connection to ensure data integrity.
While data synchronization clearly is necessary to maintain data consistency for mobile computing environments, synchronization operations that move data from the mobile device to the consolidated server and from the consolidated server to the mobile device, can demand substantial computer and network resources, and often require a non-trivial amount of time to complete. These operations include tracking data changes on the mobile device and at the server, sending the right changes, making sure that unique key values for the data are preserved, and identifying and resolving conflicts when they occur. Normally, the control necessary for the data synchronization process requires that data access in the remote systems be restricted while the synchronization process occurs, allowing, at most, read-only access to the data. However, the lack of support for concurrent transactional access to the remote database while a synchronization operation is taking place diminishes performance and efficiency.
Accordingly, a need exists for an approach to ensuring data integrity in a database through synchronization that operates in the background of data modification operations in remote database environments. The present invention addresses such a need.